using System.Collections.Generic;
using HCI.Questionaire.Entities;

namespace HCI.Questionaire.QuestionGroup
{
    public class QuestionGroup5 : TwoPagesQuestionGroup
    {
        #region QuestionGroupBase Members

        public override string Description
        {
            get
            {
                return "ความเข้าใจต่อสิทธิข้อมูลส่วนบุคคลและการป้องกันข้อมูล";
            }
        }

        public override string Instruction
        {
            get
            {
                return "ระดับความสำคัญ\nน้อยที่สุด = สามารถเปิดเผยทางอินเตอร์เน็ต ได้โดยไม่มีเงื่อนไข\nน้อย = สามารถเปิดเผยได้ในการสมัครใช้ บริการฟรีต่าง ๆ  บนอินเตอร์เน็ต (เช่นบริการฟรีอีเมลล์  เว็บบอร์ด)\nปานกลาง = เปิดเผยเมื่อต้องการสมัคร ใช้บริการหรือแลกเปลี่ยนกับข้อมูลพิเศษ (เช่น เอกสารงานวิจัย  ซอฟต์แวร์ทดลองใช้งาน)\nมาก = เปิดเผยเมื่อต้องการใช้บริการ เฉพาะทาง ทางอินเตอร์เน็ตเท่านั้น (เช่น เมื่อซื้อสินค้า, ทำธุรกรรมทางการเงิน)\nมากที่สุด = ไม่เปิดเผยทางอินเตอร์เน็ตเลย  ไม่ว่ากรณีใด ๆ";
            }
        }

        public override string QuestionStateText
        {
            get
            {
                if (this.QuestionList == null)
                    return string.Format("1/{0}", this.QuestionList.Count);
                return string.Format("{0}/{1}", this.CurrentQuestionIndex + 1, this.QuestionList.Count);
            }
        }

        protected override List<Question> CreateQuestionInGroup()
        {
            var questionList = new List<Question>();
            var qg1 = new RatingQuestionGroup();
            {
                var q1 = new RatingQuestion { QuestionText = "ชื่อ-นามสกุล", AnswerCollection = new List<Answer>() };
                q1.AddAnswer(new Answer { AnswerResult = 0.0 });

                var q2 = new RatingQuestion { QuestionText = "อีเมล์แอดเดรส", AnswerCollection = new List<Answer>() };
                q2.AddAnswer(new Answer { AnswerResult = 0.0 });

                var q3 = new RatingQuestion { QuestionText = "ที่อยู่", AnswerCollection = new List<Answer>() };
                q3.AddAnswer(new Answer { AnswerResult = 0.0 });

                var q4 = new RatingQuestion { QuestionText = "อายุ", AnswerCollection = new List<Answer>() };
                q4.AddAnswer(new Answer { AnswerResult = 0.0 });

                var q5 = new RatingQuestion { QuestionText = "อาชีพ", AnswerCollection = new List<Answer>() };
                q5.AddAnswer(new Answer { AnswerResult = 0.0 });

                var q6 = new RatingQuestion { QuestionText = "สถานภาพการสมรส", AnswerCollection = new List<Answer>() };
                q6.AddAnswer(new Answer { AnswerResult = 0.0 });

                qg1.Add(q1);
                qg1.Add(q2);
                qg1.Add(q3);
                qg1.Add(q4);
                qg1.Add(q5);
                qg1.Add(q6);
            }
            var qg2 = new RatingQuestionGroup();
            {
                var q7 = new RatingQuestion { QuestionText = "รายได้ต่อเดือน", AnswerCollection = new List<Answer>() };
                q7.AddAnswer(new Answer { AnswerResult = 0.0 });

                var q8 = new RatingQuestion { QuestionText = "เลขที่บัตรประจำตัวประชาชน", AnswerCollection = new List<Answer>() };
                q8.AddAnswer(new Answer { AnswerResult = 0.0 });

                var q9 = new RatingQuestion { QuestionText = "เลขที่บัตรเครดิต", AnswerCollection = new List<Answer>() };
                q9.AddAnswer(new Answer { AnswerResult = 0.0 });

                var q10 = new RatingQuestion { QuestionText = "เลขบัญชีสมุดธนาคาร", AnswerCollection = new List<Answer>() };
                q10.AddAnswer(new Answer { AnswerResult = 0.0 });

                var q11 = new RatingQuestion { QuestionText = "เบอร์โทรศัพท์", AnswerCollection = new List<Answer>() };
                q11.AddAnswer(new Answer { AnswerResult = 0.0 });

                qg2.Add(q7);
                qg2.Add(q8);
                qg2.Add(q9);
                qg2.Add(q10);
                qg2.Add(q11);
            }

            this.AddQuestion(qg1);
            this.AddQuestion(qg2);
            return this._QuestionList;
        }
        #endregion

        public override int GroupIndex
        {
            get { return 4; }
        }
    }
}
